package cn.edu.zjgsu.ito.service;

import java.util.List;

import cn.edu.zjgsu.ito.vo.CourierOrderMessageShowVo;
import cn.edu.zjgsu.ito.vo.CourierStateSaveVo;
import cn.edu.zjgsu.ito.vo.CourierStateShowVo;
import cn.edu.zjgsu.ito.vo.OrderIdVo;
import cn.edu.zjgsu.ito.vo.OrderNoCourierShowVo;
import cn.edu.zjgsu.ito.vo.UserCourierStateVo;
import cn.edu.zjgsu.ito.vo.UserPayCourierDepositVo;
import cn.edu.zjgsu.ito.vo.UserSubmitCourierSaveVo;

public interface UserCourierManageServiceI {

	/**
	 * 用户想成为快递员
	 * @param userIdVo
	 * @return
	 */
	public UserCourierStateVo wantToBeCourier(int userId);
	
	/**
	 * 用户填写信息，审核快递员
	 * @param userSubmitCourierSaveVo
	 */
	public UserCourierStateVo requestAuditCourier(UserSubmitCourierSaveVo userSubmitCourierSaveVo,int userId);

	/**
	 * 用户缴纳快递员审核之后的押金
	 * @param userPayCourierDepositVo
	 * @return
	 */
	public UserCourierStateVo payTheDeposit(
			UserPayCourierDepositVo userPayCourierDepositVo,int userId);

	/**
	 * 快递员接单广场
	 * @return
	 */
	public List<OrderNoCourierShowVo> courierHome();

	/**
	 * 快递员接单按钮
	 * @param orderIdVo
	 * @return 1成功 0失败
	 */
	public int acceptOrder(OrderIdVo orderIdVo,int userId);

	/**
	 * 快递员查看自己订单
	 * @param userId
	 * @return
	 */
	public List<CourierOrderMessageShowVo> courierOwnOrder(int userId);
	
	/**
	 * 快递员搜索查看自己订单
	 * @param userId
	 * @return
	 */
	public List<CourierOrderMessageShowVo> courierSelectOwnOrder(String temp,int userId);

	/**
	 * 快递员查看订单信息详情
	 * @param orderIdVo
	 * @return
	 */
	public CourierOrderMessageShowVo courierOrderMessage(OrderIdVo orderIdVo);

	/**
	 * 快递员修改状态接口
	 * @param courierStateSaveVo
	 * @return
	 */
	public CourierStateShowVo courierChangeState(
			CourierStateSaveVo courierStateSaveVo);

	/**
	 * 快递员首页接单搜索
	 * @param temp
	 * @return
	 */
	public List<OrderNoCourierShowVo> courierSelectHome(String temp);

	/**
	 * 快递员接单首页筛选接口
	 * @param temp
	 * @return
	 */
	public List<OrderNoCourierShowVo> courierChooseHome(int temp);

	
//	public void courierHome();

	

}
